package com.ruoyi.workflow.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 审核列对象 t_car_package_audit
 *
 * @author god磊
 * @since 2022-11-17
 */
@Setter
@Getter
@ToString
@TableName("bus_car_package_audit")
public class CarPackageAudit extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 审核流程定义的 key, 注意一定要与数据字典的 value 以及流程文件的 id 对应起来 */
    public static final String CAR_PACKAGE_DEFINITION_KEY = "car_package";

    /** 进行中 */
    public static final Integer PACKAGE_AUDIT_STATUS_PENDING = 0;
    /** 审核拒绝 */
    public static final Integer PACKAGE_AUDIT_STATUS_REJECTED = 1;
    /** 审核通过 */
    public static final Integer PACKAGE_AUDIT_STATUS_PASSED = 2;
    /** 撤销审核 */
    public static final Integer PACKAGE_AUDIT_STATUS_CANCELED = 3;

    /** $column.columnComment */
    @TableId(type = IdType.AUTO)
    @TableField("id")
    private Long id;

    @Excel(name = "服务项单项id")
    @TableField("service_item_id")
    private String serviceItemId;

    @Excel(name = "套餐名")
    @TableField("service_item_name")
    private String serviceItemName;

    /** 服务项信息(JSON格式) */
    @Excel(name = "套餐备注")
    @TableField("service_item_info")
    private String serviceItemInfo;

    @Excel(name = "套餐价格")
    @TableField("service_item_price")
    private BigDecimal serviceItemPrice;

    /** 状态【进行中0/审核拒绝1/审核通过2/审核撤销3】 */
    @Excel(name = "状态【进行中0/审核拒绝1/审核通过2/审核撤销3】")
    @TableField("status")
    private Integer status;
    /** 创建时间 */
    @Excel(name= "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("create_time")
    private Date createTime;
    /** 流程实例ID */
    @Excel(name = "流程实例ID")
    @TableField("instance_id")
    private String instanceId;

    /** 当前节点审核人 */
    @Excel(name = "当前节点审核人")
    @TableField("creator_id")
    private String creatorId;

    @TableField(exist = false)
    private String creatorName;

    /** 备注 */
    @Excel(name = "备注")
    @TableField("info")
    private String info;

}
